package me.goldze.mvvmhabit.binding.viewadapter.checkbox;

import android.widget.CheckBox;
import android.widget.CompoundButton;

import androidx.databinding.BindingAdapter;
import me.goldze.mvvmhabit.binding.command.BindingCommand;

/**
 * Created by goldze on 2017/6/16.
 */

public class ViewAdapter {
    /**
     * @param bindingCommand //绑定监听
     */
    @SuppressWarnings("unchecked")
    @BindingAdapter(value = {"onCheckedChangedCommand_CheckBox","checkBox_checked"}, requireAll = false)
    public static void setCheckedChanged(final CheckBox checkBox,final BindingCommand<Boolean> bindingCommand,Boolean checked ) {
        if(null!=checked){
            checkBox.setChecked(checked);
        }
        if(null!=bindingCommand){
            checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                    bindingCommand.execute(b);
                }
            });
        }
    }
}
